The Audio CODEC '97 Component Specification (AC97) is sponsored by Intel Corporation and provides a standard interface for computer system audio applications, including modem CODEC functionality. In part, the AC97 specification contemplates that devices will report their vendor information to the operating system for plug-and-play device driver installation, for example, with the Microsoft WINDOWS operating system. The AC97 specification provides two fixed addresses (namely, hex 7C and hex 7E) for vendors to report identifying codes to allow boot software to load drivers compatible with the given vendor identification codes. In addition, the PCI local bus standard provides for reporting 16-bit product specific identification codes. These codes include a subsystem vendor identification (SVID) and a subsystem identification (SSID). The PCI local bus standard provides for these identification codes to be stored in the PCI configuration register space at address 2Ch (SVID) and 2Eh (SSID). Traditionally, devices have been manufactured such that they store fixed vendor identification information and are configured to report this information when queried.
One problem associated with this fixed vendor identification scheme, however, is that it does not provide a solution for a device supplied through multiple vendors or a device with multiple different configurations. For example, a single integrated circuit vendor may sell a hardware solution to multiple modem software vendors, or alternatively, a single modem vendor may sell one of several software revisions bundled with a single hardware revision. In such situations, it would be advantageous for the same piece of silicon to report different vendor identification information from the vendor identification registers. The AC97 specification and the PCI local bus standard, however, do not contemplate a solution to this problem.